from pyecharts import options as opts from pyecharts.charts import Bar from pyecharts.commons.utils import JsCode from pyecharts.globals import ThemeType list2 = [ {"value": 12, "percent": 12 / (12 + 3)}, {"value": 23, "percent": 23 / (23 + 21)}, {"value": 33, "percent": 33 / (33 + 5)}, {"value": 3, "percent": 3 / (3 + 52)}, {"value": 33, "percent": 33 / (33 + 43)}, ] list3 = [ {"value": 3, "percent": 3 / (12 + 3)}, {"value": 21, "percent": 21 / (23 + 21)}, {"value": 5, "percent": 5 / (33 + 5)}, {"value": 52, "percent": 52 / (3 + 52)}, {"value": 43, "percent": 43 / (33 + 43)}, ] c = ( Bar(init_opts=opts.InitOpts(theme=ThemeType.LIGHT)) .add_xaxis([1, 2, 3, 4, 5]) .add_yaxis("product1", list2, stack="stack1", category_gap="50%") .add_yaxis("product2", list3, stack="stack1", category_gap="50%") .set_series_opts( label_opts=opts.LabelOpts( position="right", formatter=JsCode( "function(x){return Number(x.data.percent * 100).toFixed() + '%';}" ), ) ) .render("stack_bar_percent.html") )这个代码执行了没反应
时间: 2023-07-13 21:29:28 浏览: 52
这段代码给出了一个绘制堆叠柱状图并显示百分比标签的示例,但是在执行这段代码时,它只会生成一个HTML文件(stack_bar_percent.html),并不会显示任何输出,因为它是在本地生成HTML文件。你可以在浏览器中打开HTML文件(stack_bar_percent.html)来查看生成的堆叠柱状图。如果你想在Python Shell中查看图表,可以尝试使用Jupyter Notebook或类似的工具。你还需要确保已经安装了pyecharts和pandas等必要的依赖库。
相关问题
pyecharts背景颜色渐变色
根据提供的引用,可以使用 `pyecharts` 中的 `Style` 类来设置背景颜色渐变色。具体步骤如下:
1. 导入 `pyecharts` 和 `Style` 类
```python
from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.globals import ThemeType
from pyecharts.commons.utils import JsCode
from pyecharts.globals import CurrentConfig, NotebookType
from pyecharts.faker import Faker
from pyecharts import options as opts
from pyecharts.charts import Bar, Line
from pyecharts.commons.utils import JsCode
from pyecharts.globals import ThemeType
from pyecharts.globals import CurrentConfig, NotebookType
```
2. 创建 `Style` 对象,并设置渐变色
```python
style = (
opts.ChartOpts()
.set_background_color(
JsCode(
"""
new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
offset: 0,
color: 'rgba(0, 244, 255, 1)'
}, {
offset: 1,
color: 'rgba(0, 77, 167, 1)'
}])
"""
)
)
.set_global_opts(title_opts=opts.TitleOpts(title="Bar-背景渐变色"))
)
```
3. 创建 `Bar` 对象,并将 `Style` 对象传入
```python
bar = (
Bar(init_opts=opts.InitOpts(theme=ThemeType.LIGHT))
.add_xaxis(Faker.choose())
.add_yaxis("商家A", Faker.values(), itemstyle_opts=style)
.set_global_opts(title_opts=opts.TitleOpts(title="Bar-背景渐变色"))
)
```
4. 渲染图表
```python
bar.render_notebook()
```
运行以上代码,即可得到一个带有背景颜色渐变色的柱状图。
pyecharts库画旋风对比
pyecharts库可以用来画旋风对比图。你可以使用`Bar`类来创建条形图,然后使用`Overlap`类来将两个条形图叠加在一起,从而形成旋风对比图。首先,你需要创建两个`Bar`对象,分别表示两组数据。然后,使用`Overlap`类将这两个对象合并在一起,并通过`render()`方法将图表渲染为HTML文件或图片。
这是一个使用pyecharts库画旋风对比图的例子:
```python
from pyecharts.charts import Bar
from pyecharts import options as opts
from pyecharts.faker import Faker
from pyecharts.globals import ThemeType
from pyecharts.commons.utils import JsCode
from pyecharts.globals import ThemeType
# 创建两组数据
data1 = Faker.values()
data2 = Faker.values()
# 创建第一组数据的条形图
bar1 = (
Bar(init_opts=opts.InitOpts(theme=ThemeType.LIGHT))
.add_xaxis(Faker.days_attrs)
.add_yaxis("数据1", data1, category_gap="80%")
.set_series_opts(label_opts=opts.LabelOpts(position="top"))
.reversal_axis()
)
# 创建第二组数据的条形图
bar2 = (
Bar(init_opts=opts.InitOpts(theme=ThemeType.LIGHT))
.add_xaxis(Faker.days_attrs)
.add_yaxis("数据2", data2, category_gap="80%")
.set_series_opts(label_opts=opts.LabelOpts(position="top"))
.reversal_axis()
)
# 将两个条形图叠加在一起形成旋风对比图
overlap = bar1.overlap(bar2)
# 设置图表标题
overlap.set_global_opts(title_opts=opts.TitleOpts(title="旋风对比图"))
# 渲染图表
overlap.render("旋风对比图.html")
```