import pandas as pd import matplotlib.pyplot as plt df=pd.read_excel('mrbook.xlsx') #导入Excel文件 x=[1,2,3,4,5,6] y1=df['销量'] y2=df['rate'] fig = plt.figure() plt.rcParams['font.sans-serif']=['SimHei'] #解决中文乱码 plt.rcParams['axes.unicode_minus'] = False #用来正常显示负号 ax1 = fig.add_subplot(111) #添加子图 plt.title('销量情况对比') #图表标题 #图表x轴标题 plt.xticks(x,['1月','2月','3月','4月','5月','6月']) ax1.bar(x,y1,label='left') ax1.set_ylabel('销量(册)') #y轴标签 ax2 = ax1.twinx() #共享x轴添加一条y轴坐标轴 ax2.plot(x,y2,color='black',linestyle='--',marker='o',linewidth=2,label=u"增长率") ax2.set_ylabel(u"增长率") for a,b in zip(x,y2): plt.text(a, b+0.02, '%.2f' % b, ha='center', va= 'bottom',fontsize=10,color='red') plt.show()
时间: 2024-01-12 13:03:45 浏览: 71
这段代码使用了pandas和matplotlib库来绘制一个柱状图和折线图的组合图。首先,通过`pd.read_excel`函数导入名为"mrbook.xlsx"的Excel文件,并将数据存储在DataFrame对象`df`中。然后,定义了x轴的数据为[1,2,3,4,5,6],y1轴的数据为`df`中的"销量"列,y2轴的数据为`df`中的"rate"列。
接下来,创建一个名为`fig`的Figure对象,并使用plt.rcParams设置中文字体显示和负号显示。然后,通过`fig.add_subplot(111)`添加一个子图,并设置标题为"销量情况对比"。
使用`plt.xticks`函数设置x轴刻度标签为['1月','2月','3月','4月','5月','6月']。接着,通过`ax1.bar`函数绘制柱状图,y轴标签设置为'销量(册)'。
接下来,通过`ax1.twinx()`创建一个共享x轴的y轴坐标轴,并使用`ax2.plot`函数绘制折线图。折线图的颜色为黑色,线条样式为虚线,点标记为圆形,线条宽度为2,标签为"增长率"。使用`ax2.set_ylabel`设置折线图y轴标签。
最后,使用循环和`plt.text`函数将折线图上的数据值显示在图上,然后使用`plt.show()`显示图形。
相关问题
import pandas as pd import matplotlib.pyplot as plt df = pd.read_csv('weather1.csv') plt.plot(df['小时'],df['温度']) plt.show()
这是一段 Python 代码,它使用 Pandas 和 Matplotlib 库来绘制一个天气数据的折线图。它首先从名为 "weather1.csv" 的 CSV 文件中读取数据,然后将 "小时" 和 "温度" 列分别用作 X 轴和 Y 轴,绘制出折线图。最后,使用 plt.show() 函数显示图形。
import matplotlib.pyplot as plt import numpy as np import pandas as pd df = pd.read_excel("taobao_data_matplolib.xlsx") data = df["成交量"].values labels = df["位置"].values plt.bar(labels, data) plt.show()
这段代码使用了Python中的matplotlib库来绘制一个简单的柱状图。首先,通过pandas库的read_excel()函数读取了一个名为taobao_data_matplolib.xlsx的Excel文件,并将其中的成交量和位置两列数据分别存储到data和labels变量中。然后,使用matplotlib库的plt.bar()函数绘制了一个柱状图,x轴为位置,y轴为成交量。最后,使用plt.show()函数显示出这张图表。这段代码的作用是用柱状图展示不同位置的成交量,以便于比较和分析。
阅读全文