【Python】pandas라는 라이브러리를 사용하여 CSV 파일을 읽어 쌓아 막대 그래프를 작성한다.
오늘의 주의(복습)는, CSV의 로드와 그래프 작성에 관한 계속입니다.
파이썬에서 Excel을 조작하기 위해 openpyxl이라는 패키지를 사용하고 있습니다.
판매.csv
部門,1月,2月,3月
商品A,600,700,800
商品B,4100,3800,4500
商品C,2900,1800,3000
商品D,800,900,1000
商品E,600,550,720
이전과 마찬가지로 위와 같은 CSV 파일을 읽습니다.
이런 적층 막대 그래프를 만들어 붙이고 싶습니다.
BarChart 객체의 grouping 속성과 overlap 속성
bar.grouping = 'stacked'
bar.overlap = 100
기본적으로 막대 그래프를 만드는 것과 같습니다.
grouping 속성을 'stacked', overlap 속성을 100
그렇게하면 쌓아 올려 막대 그래프가됩니다.
이번 표는 또 하나의 연구가 필요합니다.
그래프의 참조 데이터를 행/열로 전환
bar.add_data(Referenceオブジェクト, from_rows=True, titles_from_data=True)
우선, 원본 데이터의 범위를 변경하십시오.
위와 같이 "from_rows = True"를 작성하면
그래프의 참조 데이터를 행/열로 전환할 수 있습니다.
최종 코드
import pandas as pd
from openpyxl import Workbook
from openpyxl.chart import BarChart, Reference
from openpyxl.utils.dataframe import dataframe_to_rows
wb = Workbook()
ws = wb.active
# CSVファイル読込み
df = pd.read_csv('売上.csv', encoding='utf-8')
for row in dataframe_to_rows(df, index=None, header=True):
# データを1行ずつ追加
ws.append(row)
# 棒グラフを選択
bar = BarChart()
# 横棒グラフに設定
bar.type = 'col'
# 積上げ棒グラフに変更
bar.grouping = 'stacked'
bar.overlap = 100
# グラフのデータ範囲を設定
data = Reference(ws, min_col=1, min_row=2,
max_col=ws.max_column, max_row=ws.max_row)
# ラベルの範囲を設定
labels = Reference(ws, min_col=2, min_row=1, max_col=ws.max_column)
# グラフにデータを追加(参照方法を行列で切り替え)
bar.add_data(data, from_rows=True, titles_from_data=True)
# 縦軸のラベルを追加
bar.set_categories(labels)
# 系列ごとにグラフの色を変更
bar.varyColors = True
# 凡例項目の位置を設定
bar.legend.position = 'b'
# 横軸(グラフ上では縦軸)タイトルを追加
bar.x_axis.title = '月度'
# 縦軸(グラフ上では横軸)タイトルを追加
bar.y_axis.title = '売上高(千円)'
# グラフのタイトルを追加
bar.title = '部門別売上高'
# 棒グラフをシートに追加
ws.add_chart(bar, 'A9')
wb.save('部門別売上_積上げ棒グラフ.xlsx')
전회, 전전회와 같은 데이터를 바탕으로 그래프를 만들고 있습니다만
표현 방법으로 대부분의 인상이 바뀌는군요.
어디에서 사용하는 것인지를 생각하면서 작성하면 좋은 느낌이군요.
Reference
이 문제에 관하여(【Python】pandas라는 라이브러리를 사용하여 CSV 파일을 읽어 쌓아 막대 그래프를 작성한다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/rihu-do/items/8ccf6a0147ecc46371f6
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
bar.grouping = 'stacked'
bar.overlap = 100
bar.add_data(Referenceオブジェクト, from_rows=True, titles_from_data=True)
우선, 원본 데이터의 범위를 변경하십시오.
위와 같이 "from_rows = True"를 작성하면
그래프의 참조 데이터를 행/열로 전환할 수 있습니다.
최종 코드
import pandas as pd
from openpyxl import Workbook
from openpyxl.chart import BarChart, Reference
from openpyxl.utils.dataframe import dataframe_to_rows
wb = Workbook()
ws = wb.active
# CSVファイル読込み
df = pd.read_csv('売上.csv', encoding='utf-8')
for row in dataframe_to_rows(df, index=None, header=True):
# データを1行ずつ追加
ws.append(row)
# 棒グラフを選択
bar = BarChart()
# 横棒グラフに設定
bar.type = 'col'
# 積上げ棒グラフに変更
bar.grouping = 'stacked'
bar.overlap = 100
# グラフのデータ範囲を設定
data = Reference(ws, min_col=1, min_row=2,
max_col=ws.max_column, max_row=ws.max_row)
# ラベルの範囲を設定
labels = Reference(ws, min_col=2, min_row=1, max_col=ws.max_column)
# グラフにデータを追加(参照方法を行列で切り替え)
bar.add_data(data, from_rows=True, titles_from_data=True)
# 縦軸のラベルを追加
bar.set_categories(labels)
# 系列ごとにグラフの色を変更
bar.varyColors = True
# 凡例項目の位置を設定
bar.legend.position = 'b'
# 横軸(グラフ上では縦軸)タイトルを追加
bar.x_axis.title = '月度'
# 縦軸(グラフ上では横軸)タイトルを追加
bar.y_axis.title = '売上高(千円)'
# グラフのタイトルを追加
bar.title = '部門別売上高'
# 棒グラフをシートに追加
ws.add_chart(bar, 'A9')
wb.save('部門別売上_積上げ棒グラフ.xlsx')
전회, 전전회와 같은 데이터를 바탕으로 그래프를 만들고 있습니다만
표현 방법으로 대부분의 인상이 바뀌는군요.
어디에서 사용하는 것인지를 생각하면서 작성하면 좋은 느낌이군요.
Reference
이 문제에 관하여(【Python】pandas라는 라이브러리를 사용하여 CSV 파일을 읽어 쌓아 막대 그래프를 작성한다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/rihu-do/items/8ccf6a0147ecc46371f6
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import pandas as pd
from openpyxl import Workbook
from openpyxl.chart import BarChart, Reference
from openpyxl.utils.dataframe import dataframe_to_rows
wb = Workbook()
ws = wb.active
# CSVファイル読込み
df = pd.read_csv('売上.csv', encoding='utf-8')
for row in dataframe_to_rows(df, index=None, header=True):
# データを1行ずつ追加
ws.append(row)
# 棒グラフを選択
bar = BarChart()
# 横棒グラフに設定
bar.type = 'col'
# 積上げ棒グラフに変更
bar.grouping = 'stacked'
bar.overlap = 100
# グラフのデータ範囲を設定
data = Reference(ws, min_col=1, min_row=2,
max_col=ws.max_column, max_row=ws.max_row)
# ラベルの範囲を設定
labels = Reference(ws, min_col=2, min_row=1, max_col=ws.max_column)
# グラフにデータを追加(参照方法を行列で切り替え)
bar.add_data(data, from_rows=True, titles_from_data=True)
# 縦軸のラベルを追加
bar.set_categories(labels)
# 系列ごとにグラフの色を変更
bar.varyColors = True
# 凡例項目の位置を設定
bar.legend.position = 'b'
# 横軸(グラフ上では縦軸)タイトルを追加
bar.x_axis.title = '月度'
# 縦軸(グラフ上では横軸)タイトルを追加
bar.y_axis.title = '売上高(千円)'
# グラフのタイトルを追加
bar.title = '部門別売上高'
# 棒グラフをシートに追加
ws.add_chart(bar, 'A9')
wb.save('部門別売上_積上げ棒グラフ.xlsx')
Reference
이 문제에 관하여(【Python】pandas라는 라이브러리를 사용하여 CSV 파일을 읽어 쌓아 막대 그래프를 작성한다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/rihu-do/items/8ccf6a0147ecc46371f6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)