jupyter做堆叠直方图
时间: 2023-12-20 19:32:01 浏览: 33
在Jupyter Notebook中,可以使用Matplotlib库来绘制堆叠直方图。下面是一个示例代码:
```python
import matplotlib.pyplot as plt
import numpy as np
# 生成示例数据
np.random.seed(0)
data1 = np.random.normal(0, 1, 1000)
data2 = np.random.normal(2, 1, 1000)
data3 = np.random.normal(4, 1, 1000)
# 绘制堆叠直方图
plt.hist([data1, data2, data3], bins=30, stacked=True, label=['Data 1', 'Data 2', 'Data 3'])
# 添加图例
plt.legend()
# 添加标题和标签
plt.title('Stacked Histogram')
plt.xlabel('Value')
plt.ylabel('Frequency')
# 显示图形
plt.show()
```
这段代码会生成三组随机数据,并将它们绘制成堆叠直方图。每组数据的分布会以不同的颜色进行区分,并在图例中显示对应的标签。
相关问题
pyecharts做堆叠直方图
要pyecharts制作堆叠直方图,你可以使用Bar类和add_yaxis方法来添加不同系列的数据。下面是一个示例代码,展示了如何使用pyecharts制作堆叠直方图:
```python
import random
import pyecharts.options as opts
from pyecharts.charts import Bar
goods = ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']
bar = (
Bar()
.add_xaxis(goods)
.add_yaxis('商家A', [random.randint(10, 100) for _ in range(6)], stack='stack1')
.add_yaxis('商家B', [random.randint(10, 100) for _ in range(6)], stack='stack1')
.add_yaxis('商家C', [random.randint(10, 100) for _ in range(6)], stack='stack1')
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(
title_opts=opts.TitleOpts(title='堆叠直方图示例-商品销量'),
xaxis_opts=opts.AxisOpts(name='品类'),
yaxis_opts=opts.AxisOpts(name='销量(单位:件)')
)
)
bar.render('堆叠直方图.html')
```
这段代码首先导入了必要的模块和类。然后,创建了一个商品列表。接下来,使用Bar类创建了一个柱状图对象,并使用add_xaxis方法添加了x轴数据(商品),使用add_yaxis方法分别添加了三个商家的销量数据,并设置了堆叠属性为'stack1'。为了美观,使用了set_series_opts方法隐藏了标签。最后,使用set_global_opts方法设置了标题、x轴和y轴的名称。最后一步是调用render方法将图表保存为HTML文件。
你可以根据自己的需求修改代码中的数据和参数来生成不同样式的堆叠直方图。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [用Python pyecharts v1.x 绘制图形(一):柱状图、柱状堆叠图、条形图、直方图、帕累托图、饼图、圆环图、...](https://blog.csdn.net/shineych/article/details/104204330)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
Python绘制堆叠直方图
Python可以使用matplotlib库来绘制堆叠直方图。下面是一个简单的例子:
```python
import matplotlib.pyplot as plt
import numpy as np
# 生成一些随机数据
data1 = np.random.normal(0, 1, 200)
data2 = np.random.normal(3, 1.5, 200)
data3 = np.random.normal(-3, 2, 200)
# 绘制堆叠直方图
plt.hist([data1, data2, data3], bins=20, stacked=True)
# 添加标题和标签
plt.title('Stacked Histogram')
plt.xlabel('Value')
plt.ylabel('Frequency')
plt.show()
```
上述代码中,我们使用numpy库生成了三组随机数据,然后使用matplotlib的hist()函数绘制了堆叠直方图。其中,bins参数指定了直方图的柱子数量,stacked参数设置为True表示绘制堆叠直方图。最后,我们添加了标题和标签,并使用show()函数显示图形。