Anonymous
Как преобразовать диаграмму сюжета в Matplotlib в Python?
Сообщение
Anonymous » 26 янв 2025, 00:43
Я создал диаграмму с помощьюplotnine и хочу поместить ее в matplotlib, чтобы объединить ее с другими графиками, но я не могу преобразовать ее в форму matplotlib.
Вот справочная статья, в которой автор преобразовал этот график в matplotlib, и я также пробовал что-то подобное, но это не сработало.
Код, который я пробовал: >
Данные:
Код: Выделить всё
import pandas as pd
import plotnine as p9
from plotnine import *
import matplotlib.pyplot as plt
new_data = {
'date': pd.date_range('2022-01-01', periods=11, freq="ME"),
'parent_category': ['Electronics', 'Electronics', 'Fashion', 'Fashion', 'Home Goods', 'Electronics', 'Fashion','Electronics','Electronics','Electronics','Electronics'],
'child_category': ['Smartphones', 'Laptops', 'Shirts', 'Pants', 'Kitchenware','Laptops', 'Shirts', 'Smartphones','PS4','Oven','Vaccum cleaner']
}
new_data = pd.DataFrame(new_data)
plotnine plot:
Код: Выделить всё
P = (ggplot(new_data[new_data['parent_category'] == 'Electronics'], aes(x="date", y="child_category", group="child_category")) +
geom_line(size=1, color="pink") +
geom_point(size=3, color="grey") +
# facet_wrap("parent_category", ncol=1, scales="free_y") +
theme_538() +
theme(axis_text_x=element_text(angle=45, hjust=1),
panel_grid_major=element_blank()
# ,figure_size=(8, 3)
)
)
Но когда я пытаюсь поместить это в matplotlib, оно не отображается:
Код: Выделить всё
fig = P.draw()
fig.set_size_inches(8, 3, forward=True)
ax = plt.gca()
plt.show()
Подробнее здесь:
https://stackoverflow.com/questions/793 ... -in-python
1737841405
Anonymous
Я создал диаграмму с помощьюplotnine и хочу поместить ее в matplotlib, чтобы объединить ее с другими графиками, но я не могу преобразовать ее в форму matplotlib. Вот справочная статья, в которой автор преобразовал этот график в matplotlib, и я также пробовал что-то подобное, но это не сработало. Код, который я пробовал: > [b]Данные:[/b] [code]import pandas as pd import plotnine as p9 from plotnine import * import matplotlib.pyplot as plt new_data = { 'date': pd.date_range('2022-01-01', periods=11, freq="ME"), 'parent_category': ['Electronics', 'Electronics', 'Fashion', 'Fashion', 'Home Goods', 'Electronics', 'Fashion','Electronics','Electronics','Electronics','Electronics'], 'child_category': ['Smartphones', 'Laptops', 'Shirts', 'Pants', 'Kitchenware','Laptops', 'Shirts', 'Smartphones','PS4','Oven','Vaccum cleaner'] } new_data = pd.DataFrame(new_data) [/code] [b]plotnine plot:[/b] [code]P = (ggplot(new_data[new_data['parent_category'] == 'Electronics'], aes(x="date", y="child_category", group="child_category")) + geom_line(size=1, color="pink") + geom_point(size=3, color="grey") + # facet_wrap("parent_category", ncol=1, scales="free_y") + theme_538() + theme(axis_text_x=element_text(angle=45, hjust=1), panel_grid_major=element_blank() # ,figure_size=(8, 3) ) ) [/code] [img]https://i.sstatic.net/bZFW6o9U.png[/img] Но когда я пытаюсь поместить это в matplotlib, оно не отображается: [code]fig = P.draw() fig.set_size_inches(8, 3, forward=True) ax = plt.gca() plt.show() [/code] Подробнее здесь: [url]https://stackoverflow.com/questions/79383447/how-to-convert-a-plotnine-chart-to-matplotlib-in-python[/url]