我想尝试使用pygal并具有创建SVG数据的功能,因为我将通过合并的HTML和SVG图形创建打印的PDF页面。
我想做的是pygal.plot(dataframe)的等效项,但是我没有在文档中看到。
我知道我可以做到:
df = pd.Series(np.random.randn(5), index = ['a', 'b', 'c', 'd', 'e'])
chart = pygal.Line()
for index, row in df.iteritems():
chart.add(index,row)
Run Code Online (Sandbox Code Playgroud)
但这从python的角度来看似乎是错误的。我应该做不同的事情吗?
另外,如果数据框具有多个列,我该怎么办?
我正在尝试创建一个简单的程序,以便使用Pygal_maps_world显示中美洲的地图及其人口。
import pygal_maps_world as pa
wm=pa.World()
wm.title="Map of Central America"
wm.add('North America',{'cd': 84949494949,'mx': 494794164,'us': 99794616})
wm.render_to_file('map.svg')
Run Code Online (Sandbox Code Playgroud)
我已经尝试了几种有关导入世界地图的组合,以使其正常工作,但无济于事,并且我无法创建可视化效果。
帮我解决我的这个查询
谢谢
我正在使用 Flask 和 pygal 制作一个网站。
为了绘制图表,我将其放入我的网页中:
<div class="graph-area">
<div align="center">
<embed type="image/svg+xml" src={{graph_data|safe}} />
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
.graph-area{
margin-left:255px;
height:500px;
margin-bottom: 5px;
border-radius: 10px;
}
Run Code Online (Sandbox Code Playgroud)
@app.route("/test")
def test():
custom_style = Style(
background='transparent',
plot_background='transparent',
foreground='#53E89B',
foreground_strong='#53A0E8',
foreground_subtle='#630C0D',
opacity='.6',
opacity_hover='.9',
transition='400ms ease-in')
graph = pygal.Line(width=500, height=400, style=custom_style)
graph.title = 'Food intake'
graph.x_labels = ['lundi','mardi','mercredi','jeudi','vendredi','samedi']
graph.add('Proteins', [15, 16, 17, 15, 10, 15])
graph.add('Lipids', [40, 45, 40, 42, 45, 42])
graph.add('Carbs', [21, 22, 22, 20, 18, 16])
graph.add('Net carbs', [12, 11, 11, 11, 10, 13]) …Run Code Online (Sandbox Code Playgroud) 经过大量研究,我终于设法在pygal中使用工具提示:
Config = pygal.Config()
Config.js = ['http://kozea.github.io/pygal.js/2.0.x/pygal-tooltips.js']
bar_chart = pygal.Bar(Config) # Then create a bar graph object
bar_chart.add('Fibonacci', [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55]) # Add some values
bar_chart.render_to_file('bar_chart.svg', force_uri_protocol='https')
Run Code Online (Sandbox Code Playgroud)
在生成的.svg中,工具提示现在可以正常工作,但只有在浏览器中打开文件时才能正常工作.
当图表直接显示在Jupyter中时(IPython.core.display.SVG(filename="bar_chart.svg")或者简单地显示bar_chart),工具提示和样式不存在.
这是一个已知的限制吗?还是可以实现?
names, plot_dicts = [], []
for repo_dict in repo_dicts:
names.append(repo_dict['name'])
plot_dict = {
'value': repo_dict['stargazers_count'],
'label': repo_dict['description'],
'xlink': repo_dict['owner']['html_url'],
}
plot_dicts.append(plot_dict)
my_style = LS('#333366', base_style=LCS)
chart = pygal.Bar(style=my_style, x_label_rotation=45, show_legend=False)
chart.title = 'Most-Stared Python Project On Github'
chart.x_labels = names
chart.add('', plot_dicts)
chart.render_to_file('new_repos.svg')
Run Code Online (Sandbox Code Playgroud)
*如果运行此命令,将出现错误。
Traceback (most recent call last):
File "new_repos.py", line 54, in <module>
chart.render_to_file('new_repos.svg')
File "C:\Users\Cao Kangkang\AppData\Roaming\Python\Python36\site-packages\pygal\graph\public.py", line 114, in render_to_file
f.write(self.render(is_unicode=True, **kwargs))
File "C:\Users\Cao Kangkang\AppData\Roaming\Python\Python36\site-packages\pygal\graph\public.py", line 52, in render
self.setup(**kwargs)
File "C:\Users\Cao Kangkang\AppData\Roaming\Python\Python36\site-packages\pygal\graph\base.py", line 217, in setup …Run Code Online (Sandbox Code Playgroud) 我试着:
import pygal
wm = pygal.Worldmap()
Run Code Online (Sandbox Code Playgroud)
但它引起了:
AttributeError: module 'pygal' has no attribute 'Worldmap'
Run Code Online (Sandbox Code Playgroud)
谁能告诉我这是什么问题?
我正在尝试创建一个Pygal图表并将其显示在烧瓶中 - 而不保存.svg文件.这可能吗?我试过的每一个组合都给了我一个错误.模板:
{% extends "base.html" %}
{% block content %} {{chart}} {% endblock %}
Run Code Online (Sandbox Code Playgroud)
浏览次数:
@app.route('/chart')
def test():
bar_chart = pygal.HorizontalStackedBar()
bar_chart.title = "Remarquable sequences"
bar_chart.x_labels = map(str, range(11))
bar_chart.add('Fibonacci', [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55])
bar_chart.add('Padovan', [1, 1, 1, 2, 2, 3, 4, 5, 7, 9, 12])
chart = bar_chart.render()
return render_template('test.html', chart=chart )
Run Code Online (Sandbox Code Playgroud)
谁能告诉我我做错了什么?
我目前正在使用 pygal 进行图形生成,并且我在 x 轴上遇到日期问题,因为它们的数量在增加并且它们开始重叠。我想在日期之间提供间距或每周将日期放在那里。
如果有人可以提供帮助,那将是非常可观的。谢谢你。