数据可视化中分别使用导入csv文件数据的方法以及自定义数据的方法绘制直方图并使其可以显示中文字符请给出稍复杂一些的完整代码示例和导入的csv文件数据
以下是使用Python中的Matplotlib库绘制中文直方图的示例代码:
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
import matplotlib.font_manager as fm
# 导入csv文件数据
data = pd.read_csv('data.csv')
# 设置中文字体,避免中文乱码
myfont = fm.FontProperties(fname='font.ttf')
# 绘制直方图
plt.hist(data['score'], bins=np.arange(0, 101, 10), color='b', alpha=0.7, rwidth=0.9)
plt.xlabel('分数', fontproperties=myfont)
plt.ylabel('人数', fontproperties=myfont)
plt.title('学生成绩分布', fontproperties=myfont)
plt.xticks(np.arange(0, 101, 10), fontproperties=myfont)
# 显示图像
plt.show()
其中,data.csv文件中数据的格式为:
name,score
张三,78
李四,60
王五,85
赵六,92
...
如果要自定义数据,则可以使用以下代码:
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.font_manager as fm
# 自定义数据
data = [78, 60, 85, 92, 70, 88, 76, 80, 68, 95, 83, 90, 72, 87, 94, 79, 65, 73, 81, 89]
# 设置中文字体,避免中文乱码
myfont = fm.FontProperties(fname='font.ttf')
# 绘制直方图
plt.hist(data, bins=np.arange(0, 101, 10), color='b', alpha=0.7, rwidth=0.9)
plt.xlabel('分数', fontproperties=myfont)
plt.ylabel('人数', fontproperties=myfont)
plt.title('学生成绩分布', fontproperties=myfont)
plt.xticks(np.arange(0, 101, 10), fontproperties=myfont)
# 显示图像
plt.show()
``
原文地址: https://www.cveoy.top/t/topic/hh94 著作权归作者所有。请勿转载和采集!