Tôi nhận được một ValueError: min() arg is an empty sequence
khi cố gắng chuyển đổi một cốt truyện khung hình gấu trúc thành âm mưu."min() arg là một chuỗi rỗng" khi cố gắng chuyển đổi âm mưu gấu trúc của tôi thành âm mưu
đây đây là một mẫu của dataframe (với Nans):
ttab.loc[:,:"Irish"]
Group English (British) Americans (White) Canadians Scots Irish
Year
1926 1 2 3 4 5
1946 3 1 2 5 4
1956 3 1 2 7 5
1966 2 1 3 9 5
1977 2 1 3 9 7
1993 2 NaN NaN 6 1
2001 4 1 3 NaN 5
2001* 4 1 3 NaN 5
2012 4 1 3 NaN 6
tôi làm một âm mưu khá:
# Time It
import time
begin = time.clock()
# Inline plotting
%matplotlib inline
# Import libraries
import matplotlib
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns
from pandas.tools.plotting import scatter_matrix
# (*) To communicate with Plotly's server, sign in with credentials file
import plotly.plotly as py
# (*) Useful Python/Plotly tools
import plotly.tools as tls
# (*) Graph objects to piece together plots
from plotly.graph_objs import *
# Read, clean, slice data here...
# Rename columns, examine, rename groups here...
# Merge, set index, transpose dataframe here....
# Change datatype to float here...
# Define color palette here...
# Now Plot...
# Package all mpl plotting commands inside one function
def plot_mpl_fig():
# plot parameters
figsize = (12,12)
axfontsize = 16
legfontsize = 14
labfontsize = 18
yax = (30,0)
lw = 2
# Interpolate NaNs and plot as dashed lines
ax = ttab.loc[:,:'Asian Indians'].interpolate().plot(color=colorlist, ylim=yax, lw=lw, fontsize=axfontsize, \
figsize=figsize, style='--')
# Overplot the measured values with solid lines
ttab.loc[:,:'Asian Indians'].plot(ax=ax, color=colorlist, ylim=yax, lw=lw, fontsize=axfontsize, figsize=figsize)
# Legend handling
lines, labels = ax.get_legend_handles_labels()
ax.legend(lines[28:], labels[28:], loc='center left', bbox_to_anchor=(-0.3, 0.5), fontsize=legfontsize)
# Labeling
plt.xlabel('Year',fontsize=labfontsize)
plt.ylabel('Rank',fontsize=labfontsize)
# Plot it!
plot_mpl_fig()
# N.B. get matplotlib figure object and assign a variable to it
mpl_fig1 = plt.figure()
và sau đó tôi cố gắng để chuyển đổi bằng cách làm theo ví dụ tại: https://plot.ly/python/matplotlib-to-plotly-tutorial/
Quickstart:
>>> import plotly.plotly as py
>>> import matplotlib.pyplot as plt
>>> # auto sign-in with credentials or use py.sign_in()
>>> mpl_fig_obj= plt.figure()
>>> # ... make a matplotlib figure ...
>>> py.plot_mpl(mpl_fig1) # <== ValueError
Hoặc Hướng dẫn tại Mục 6.1:
# Convert a matplotlib figure object to a Plotly figure object
help(tls.mpl_to_plotly)
py_fig1 = tls.mpl_to_plotly(mpl_fig1, verbose=True) # <== ValueError
print(py_fig1.to_string())
# Plot a matplotlib figure in Plotly
help(py.iplot_mpl)
py.iplot_mpl(mpl_fig1, filename='s6_damped_oscillation') # <== ValueError
Anytime tôi gọi plot_mpl
, mpl_to_plotly
, hoặc iplot_mpl
tôi nhận được ValueError: min() arg is an empty sequence
. Tôi nghĩ nó có thể liên quan đến NaN, nhưng tôi không biết cách làm việc đó. Bất kỳ đề xuất?
Bạn có thể đăng dấu vết ngăn xếp đầy đủ không? Cảm ơn. –
Tôi đã gặp vấn đề tương tự, nhưng tôi đã giải quyết một việc như [this] (https://plot.ly/pandas/log-plot/). Nếu bạn cần nhiều tùy chỉnh hơn, bạn có thể đọc [ở đây] (https://plot.ly/python/axes/). – paulochf