fig_data = data.query('Year>=1995 and Year<=2019 and AvgTemperature>-72')[['Year','AvgTemperature']].groupby(by='Year') mean_data = fig_data.agg({'AvgTemperature':'mean'}) x = np.array(mean_data.index) mean_y = np.array(mean_data['AvgTemperature']) min_data = fig_data.agg({'AvgTemperature':'min'}) x = np.array(mean_data.index) min_y = np.array(min_data['AvgTemperature']) fig = plt.figure(figsize=(14,6)) ax1 = fig.add_subplot(111) ax1.set_xlabel('年份') ax1.set_ylabel('日均气温') ax1.set_ylim(14.5,17) ax1.margins(x=0.01) plt.title('1995-2019年期间世界气温变化趋势') ax1.bar(x, height=mean_y, color='cadetblue', width=0.5, label='平均日均气温') ax1.legend(loc=2) ax2 = ax1.twinx() ax2.margins(x=0.01) ax2.plot(x, min_y, color='purple', label='最低日均气温') ax2.legend() plt.savefig("5-27.png",dpi=600,bbox_inches='tight')
时间: 2023-09-15 11:18:45 浏览: 66
这段代码是用于绘制1995年至2019年期间世界气温变化趋势的图表。首先,使用pandas库的query函数筛选出符合条件的数据,然后按照年份分组并计算每年的平均气温和最低气温。接着,利用matplotlib库绘制双Y轴柱状图和折线图,其中柱状图表示每年的平均气温,折线图表示每年的最低气温。最后,将图表保存至本地。
相关问题
import matplotlib.pyplot as plt import plotly.express as px data_canada = px.data.gapminder().query("country == 'Canada'") fig = px.bar( data_canada, # 数据集 x='year', # x轴 y='pop', # y轴 color ='pop' ) fig.show() 怎么让柱形图上面显示数据
可以在生成柱形图的时候,添加一个参数text来指定要在柱形图上显示的数据。具体地,可以将text参数设置为一个字符串,表示要显示的数据列的名称。例如,要在柱形图上显示年份和人口数量,可以将text参数设置为"year, pop"。修改后的代码如下:
```
import matplotlib.pyplot as plt
import plotly.express as px
data_canada = px.data.gapminder().query("country == 'Canada'")
fig = px.bar(data_canada, x='year', y='pop', color='pop', text='year, pop')
fig.show()
```
这样,生成的柱形图上方会显示每个柱子对应的年份和人口数量。可以通过修改text参数的值来控制要在柱形图上显示的数据。
plotwidget横坐标日期_plotly详解(标签)x轴日期标签、y轴百分比标签设置
对于Plotly的PlotWidget来说,设置横坐标的日期标签和y轴的百分比标签可以通过以下方式实现:
1. 设置横坐标日期标签:
```python
import plotly.graph_objs as go
# x轴日期数据
x = ['2021-01-01', '2021-01-02', '2021-01-03', '2021-01-04']
# y轴数据
y = [10, 20, 30, 40]
# 创建图表
fig = go.Figure()
# 添加散点图
fig.add_trace(go.Scatter(x=x, y=y, mode='markers'))
# 设置x轴日期标签
fig.update_xaxes(
tickmode='array',
tickvals=x,
ticktext=[d.split('-')[1] + '-' + d.split('-')[2] for d in x],
tickangle=-45,
tickfont=dict(size=10),
)
# 显示图表
fig.show()
```
上述代码中,我们通过`tickvals`参数设置x轴标签的位置,并通过`ticktext`参数设置x轴标签的文本。`tickangle`参数可以用来旋转x轴标签的角度,`tickfont`参数可以用来设置标签字体的大小。
2. 设置y轴百分比标签:
```python
import plotly.express as px
# 示例数据
df = px.data.gapminder().query("continent=='Asia' and year==2007")
# 创建图表
fig = px.scatter(df, x='gdpPercap', y='lifeExp', size='pop', color='country',
log_x=True, size_max=60, title='Life expectancy and GDP per capita (2007)')
# 设置y轴标签为百分比
fig.update_yaxes(tickformat='%')
# 显示图表
fig.show()
```
上述代码中,我们通过`tickformat`参数指定y轴标签的格式为百分比。其他参数的使用方法可以参考上述代码中的注释说明。