matplotlib基础图表绘制

您所在的位置:网站首页 图表包括 matplotlib基础图表绘制

matplotlib基础图表绘制

2024-07-17 08:13| 来源: 网络整理| 查看: 265

通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等。 Matplotlib基础知识 1.Matplotlib中的基本图表包括的元素 x轴和y轴 水平和垂直的轴线 x轴和y轴刻度 刻度标示坐标轴的分隔,包括最小刻度和最大刻度 x轴和y轴刻度标签 表示特定坐标轴的值 绘图区域 实际绘图的区域 2.hold属性 hold属性默认为True,允许在一幅图中绘制多个曲线;将hold属性修改为False,每一个plot都会覆盖前面的plot。 但是不推荐去动hold这个属性,这种做法(会有警告)。因此使用默认设置即可。 3.网格线 grid方法 使用grid方法为图添加网格线 设置grid参数(参数与plot函数相同) .lw代表linewidth,线的粗细 .alpha表示线的明暗程度 4.axis方法 如果axis方法没有任何参数,则返回当前坐标轴的上下限 5.xlim方法和ylim方法 除了plt.axis方法,还可以通过xlim,ylim方法设置坐标轴范围 6.legend方法 两种传参方法: 【推荐使用】在plot函数中增加label参数 在legend方法中传入字符串列表 配置matplotlib参数 永久配置 matplotlib配置信息是从配置文件读取的。在配置文件中可以为matplotlib的几乎所有属性指定永久有效的默认值 安装级配置文件(Per installation configuration file) Python的site-packages目录下(site-packages/matplotlib/mpl-data/matplotlibrc) 系统级配置,每次重新安装matplotlib后,配置文件会被覆盖 如果希望保持持久有效的配置,最好选择在用户级配置文件中进行设置 对本配置文件的最佳应用方式,是将其作为默认配置模板 用户级.matplotlib/matplotlibrc文件(Per user .matplotlib/matplotlibrc) 用户的Documents and Settings目录 可以用matplotlib.get_configdir()命令来找到当前用户的配置文件目录 当前工作目录 代码运行的目录 在当前目录下,可以为目录所包含的当前项目代码定制matplotlib配置项。配置文件的文件名是matplotlibrc 在Windows系统中,没有全局配置文件,用户配置文件的位置在C:\Documents and Settings\yourname.matplotlib。 在Linux系统中,全局配置文件的位置在/etc/matplotlibrc,用户配置文件的位置在$HOME/.matplotlib/matplotlibrc。 动态配置 程序中配置代码 To finetune settings only for that execution; this overwrites every configuration file. 配置方法的优先级为: Matplotlib functions in Python code matplotlibrc file in the current directory User matplotlibrc file Global matplotlibrc file rcParams方法 通过rcParams字典访问并修改所有已经加载的配置项

折线图

import matplotlib.pyplot as plt input_values=[1,2,3,4,5] squares=[1,4,9,16,25] plt.style.use('seaborn') print(squares) fig,ax= plt.subplots() ax.plot(squares) ax.plot(squares,linewidth=6) ax.set_title("平方数",fontsize=24) ax.set_xlabel("值",fontsize=14) ax.set_ylabel("值的平方",fontsize=14) ax.tick_params(axis='both',labelsize=14) ax.spines["top"].set_visible(False) ax.spines["right"].set_visible(False) plt.rcParams["font.sans-serif"]=["SimHei"] plt.rcParams["axes.unicode_minus"]=False fig.tight_layout() plt.show()

柱状图

import pandas as pd from matplotlib import pyplot as plt hotdog = pd.read_csv(r"hot-dog-contest-winners.csv") fig,ax=plt.subplots(figsize=(10,6)) plt.rcParams['font.sans-serif']=['SimHei'] plt.rcParams['axes.unicode_minus']=False x_data = hotdog['Year'] y_data = hotdog['Eaten'] plt.bar(x=x_data,height=y_data,color='b',edgecolor='k') ax = plt.gca() ax.set_title(u'过去30年热狗大胃王比赛结果柱状图',fontproperties='SimHei',fontsize=14) ax.set_xlabel('年份') ax.set_ylabel('所吃热狗数量') plt.show()

散点图

import pandas as pd from matplotlib import pyplot as plt postage=pd.read_csv(r"gdp-per-China-worldbank-1.csv") fig,ax=plt.subplots(figsize=(10,6)) plt.scatter(postage["Year"],postage["GDP"],c='r',marker='o',alpha=0.5) ax=plt.gca() ax.set_title(u'1990-2020年中国GDP变化情况散点图',fontproperties='SimHei',fontsize=14) ax.set_xlabel('年份') ax.set_ylabel('GDP') plt.rcParams['font.sans-serif']=['SimHei'] plt.rcParams['axes.unicode_minus']=False plt.show()

气泡图

import matplotlib.pyplot as plt import pandas as pd import numpy as np crime = pd.read_csv("crimeRatesByState2005.csv") crime2 = crime[crime.state != "United states"] crime2 = crime2[crime2.state != "District of Columbia"] s = list(crime2.population/10000) colors = np.random.rand(len(list(crime2.murder))) cm = plt.cm.get_cmap() plt.scatter(x=list(crime2.murder),y=list(crime2.burglary),s=s,c=colors,cmap=cm,linewidth=0.5,alpha=0.5) plt.xlabel("murder") plt.ylabel("burglary") plt.show()

阶梯图

import pandas as pd from matplotlib import pyplot as plt postage=pd.read_csv(r"us-postage.csv") fig,ax=plt.subplots(figsize=(10,6)) ax.step(postage["Year"],postage["Price"],where='post') ax.set_title("US Postage Fee") ax.set_xticks(postage["Year"]) ax.set_yticks([]) ax.spines["top"].set_visible(False) ax.spines["bottom"].set_visible(False) ax.spines["left"].set_visible(False) ax.spines["right"].set_visible(False) for i,j in zip(postage["Year"],postage["Price"]): ax.text(x=i,y=j+0.003,s=j) fig.tight_layout() plt.show()

饼图

import matplotlib.pyplot as plt import pandas as pd timeData = pd.read_csv(r"doubledec.csv") plt.figure(figsize=(9,9)) plt.title('双减政策下的初中生时间馅饼图',fontdict={'fontsize':24},y=1.05) plt.rcParams['font.sans-serif'] = ['SimHei'] plt.rcParams['axes.unicode_minus'] = False labels = ['睡觉','在校学习','家庭作业','自由活动','午餐晚餐','早餐及其它'] plt.pie(timeData['Time'],autopct='%1.1f%%',textprops={'fontsize':12,'color':'k'},labels=labels,startangle=90,counterclock=False) plt.rcParams['legend.fontsize'] = 10 plt.legend(loc='lower left',frameon=False) plt.axis('equal') # tmp = [1] # plt.pie(tmp,labels=[''],radius=0.5,colors='w') plt.show()


【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3