from matplotlib import pyplot as plt
import platform
import pandas
from pathlib import Path
# 根據不同的平台設置字體,不然無法顯示中文windows
platform_dic = {"Darwin": "Arial Unicode MS", "Windows": "SimHei"}
plt.rcParams['font.family'] = [platform_dic.get(platform.system())]
plt.rcParams["axes.labelsize"] = 30 # axes是軸字體大小調整
plt.rcParams["xtick.labelsize"] = 20 # 橫坐標字體大小調整
plt.rcParams["ytick.labelsize"] = 30 # 縱坐標字體大小調整
plt.rcParams["figure.figsize"] = [40, 15] # 顯示圖像的最大范圍
plt.rcParams['axes.unicode_minus'] = False # 用來正常顯示負號
_result = pandas.read_csv(Path(__file__).parent / 'city.csv', index_col=False)
result = _result.sort_values(by="price")
# x,y軸數據
x_arr = [] # city
y_arr = [] # price
for i in result.iterrows():
x_arr.append(i[1].city)
y_arr.append(i[1].price)
"""
房價
"""
plt.bar(x_arr, y_arr, color='rgb', label='The City Price Bar') # 指定color,不然所有的柱體都會是一個顏色
plt.gcf().autofmt_xdate() # 旋轉x軸,避免重疊
plt.xlabel('城市名稱', color='g') # x軸描述信息
plt.ylabel('定基', color='g') # y軸描述信息
plt.title('2019年3月70個大中城市新建商品住宅銷售價格指數') # 指定圖表描述信息
plt.ylim(0, 200) # 指定Y軸的高度
plt.savefig('2019年3月70個大中城市新建商品住宅銷售價格指數') # 保存為圖片
plt.show()