本文整理匯總了Python中pandas.core.frame.DataFrame.plot方法的典型用法代碼示例。如果您正苦於以下問題:Python DataFrame.plot方法的具體用法?Python DataFrame.plot怎麽用?Python DataFrame.plot使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類pandas.core.frame.DataFrame
的用法示例。
在下文中一共展示了DataFrame.plot方法的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: plot
# 需要導入模塊: from pandas.core.frame import DataFrame [as 別名]
# 或者: from pandas.core.frame.DataFrame import plot [as 別名]
def plot(self):
"""
Plots 2 graphs. One for N-period moving average, lower and upper bands.
One for P/N and position.
"""
columns = {"Upper Bands": self.upper_bands,
"Lower Bands": self.lower_bands,
"Moving Means": self.moving_means,
"Opening Prices": self.prices}
df = DataFrame(columns, index=self.dates)
df.plot()
fig = plt.figure(num=None, figsize=(18, 10), dpi=80, facecolor='w', edgecolor='k')
fig.add_subplot(121)
trans_dates = [tran.date for tran in self.transactions]
# we negate the value here to show profit/loss
trans = Series([-tran.value() for tran in self.transactions], index=trans_dates)
position = Series([tran.units for tran in self.transactions], index=trans_dates)
position.cumsum().plot(label="Position")
plt.xlabel("Date")
plt.ylabel("Position")
plt.title("Position over Time")
plt.legend(loc="best")
fig.add_subplot(122)
trans.cumsum().plot(label="P/L")
plt.xlabel("Date")
plt.ylabel("Profit/Loss")
plt.title("Profit and Loss over Time")
plt.legend(loc="best")
plt.show()
示例2: plot_barplot
# 需要導入模塊: from pandas.core.frame import DataFrame [as 別名]
# 或者: from pandas.core.frame.DataFrame import plot [as 別名]
def plot_barplot(
matrix, columns, fpath=None, stacked=True, mpl_params=None, axes=None, color=None, figsize=(70, 10), **kwargs
):
if mpl_params is None:
mpl_params = {}
df = DataFrame(matrix, columns=columns)
axes = df.plot(kind="bar", stacked=stacked, figsize=figsize, axes=axes, color=color, **kwargs)
for function_name, params in mpl_params.items():
function = getattr(axes, function_name)
function(*params["args"], **params["kwargs"])
if fpath is not None:
figure = axes.get_figure()
figure.savefig(fpath)
return axes
示例3: len
# 需要導入模塊: from pandas.core.frame import DataFrame [as 別名]
# 或者: from pandas.core.frame.DataFrame import plot [as 別名]
# pp.savefig()
#
# plt.clf()
# plt.cla()
# plt.scatter(dailyrets[:,marketsymbolpos],dailyrets[:,sym],c='blue') # $SPX v XOM
# plt.ylabel(symbols[sym])
# plt.xlabel(symbols[marketsymbolpos])
# pp.savefig()
sym_todo = len(close.columns) - sym - 1
print str(sym_todo) + " to do!"
plt.clf()
plt.cla()
#take out stocks with nana > 10%
#for sym in symbols:
# if sharperatios['NaNs'][sym] > 0.1:
# sharperatios.
sharperatios = sharperatios.sort_index(by = 'sr', ascending = False)
sharperatios = sharperatios[0:10]
plt.figure()
sharperatios.plot()
pp.savefig()
pp.close()
示例4: scatter_plot
# 需要導入模塊: from pandas.core.frame import DataFrame [as 別名]
# 或者: from pandas.core.frame.DataFrame import plot [as 別名]
axes = axarr.reshape(nrows, ncols).squeeze()
else:
# returned axis array will be always 2-d, even if nrows=ncols=1
axes = axarr.reshape(nrows, ncols)
return fig, axes
if __name__ == '__main__':
# import pandas.rpy.common as com
# sales = com.load_data('sanfrancisco.home.sales', package='nutshell')
# top10 = sales['zip'].value_counts()[:10].index
# sales2 = sales[sales.zip.isin(top10)]
# _ = scatter_plot(sales2, 'squarefeet', 'price', by='zip')
# plt.show()
import matplotlib.pyplot as plt
import pandas.tools.plotting as plots
import pandas.core.frame as fr
reload(plots)
reload(fr)
from pandas.core.frame import DataFrame
data = DataFrame([[3, 6, -5], [4, 8, 2], [4, 9, -6],
[4, 9, -3], [2, 5, -1]],
columns=['A', 'B', 'C'])
data.plot(kind='barh', stacked=True)
plt.show()
示例5: scatter_plot
# 需要導入模塊: from pandas.core.frame import DataFrame [as 別名]
# 或者: from pandas.core.frame.DataFrame import plot [as 別名]
return fig, axarr[0]
else:
return fig, axarr.reshape(nrows, ncols).squeeze()
else:
# returned axis array will be always 2-d, even if nrows=ncols=1
return fig, axarr.reshape(nrows, ncols)
if __name__ == "__main__":
# import pandas.rpy.common as com
# sales = com.load_data('sanfrancisco.home.sales', package='nutshell')
# top10 = sales['zip'].value_counts()[:10].index
# sales2 = sales[sales.zip.isin(top10)]
# _ = scatter_plot(sales2, 'squarefeet', 'price', by='zip')
# plt.show()
import matplotlib.pyplot as plt
import pandas.tools.plotting as plots
import pandas.core.frame as fr
reload(plots)
reload(fr)
from pandas.core.frame import DataFrame
data = DataFrame([[3, 6, -5], [4, 8, 2], [4, 9, -6], [4, 9, -3], [2, 5, -1]], columns=["A", "B", "C"])
data.plot(kind="barh", stacked=True)
plt.show()
示例6: main
# 需要導入模塊: from pandas.core.frame import DataFrame [as 別名]
# 或者: from pandas.core.frame.DataFrame import plot [as 別名]
def main():
# stations = cehq_station.read_grdc_stations(st_id_list=["2903430", "2909150", "2912600", "4208025"])
selected_station_ids = [
"05LM006",
"05BN012",
"05AK001",
"05QB003",
"06EA002"
]
stations = cehq_station.load_from_hydat_db(natural=None, province=None, selected_ids=selected_station_ids, skip_data_checks=True)
stations_mh = cehq_station.get_manitoba_hydro_stations()
# copy metadata from the corresponding hydat stations
for s in stations:
assert isinstance(s, Station)
for s_mh in stations_mh:
assert isinstance(s_mh, Station)
if s == s_mh:
s_mh.copy_metadata(s)
break
stations = [s for s in stations_mh if s.id in selected_station_ids and s.longitude is not None]
stations_to_mp = None
import matplotlib.pyplot as plt
# labels = ["CanESM", "MPI"]
# paths = ["/skynet3_rech1/huziy/offline_stfl/canesm/discharge_1958_01_01_00_00.nc",
# "/skynet3_rech1/huziy/offline_stfl/mpi/discharge_1958_01_01_00_00.nc"]
#
# colors = ["r", "b"]
# labels = ["ERA", ]
# colors = ["r", ]
# paths = ["/skynet3_rech1/huziy/arctic_routing/era40/discharge_1958_01_01_00_00.nc"]
labels = ["Model", ]
colors = ["r", ]
paths = [
"/RESCUE/skynet3_rech1/huziy/water_route_mh_bc_011deg_wc/discharge_1980_01_01_12_00.nc"
]
infocell_path = "/RESCUE/skynet3_rech1/huziy/water_route_mh_bc_011deg_wc/infocell.nc"
start_year = 1980
end_year = 2014
stations_filtered = []
for s in stations:
# Also filter out stations with small accumulation areas
# if s.drainage_km2 is not None and s.drainage_km2 < 100:
# continue
# Filter stations with data out of the required time frame
year_list = s.get_list_of_complete_years()
print("Complete years for {}: {}".format(s.id, year_list))
stations_filtered.append(s)
stations = stations_filtered
print("Retained {} stations.".format(len(stations)))
sim_to_time = {}
monthly_dates = [datetime(2001, m, 15) for m in range(1, 13)]
fmt = FuncFormatter(lambda x, pos: num2date(x).strftime("%b")[0])
locator = MonthLocator(bymonthday=15)
fig = plt.figure()
axes = []
row_indices = []
col_indices = []
ncols = 1
shiftrow = 0 if len(stations) % ncols == 0 else 1
nrows = len(stations) // ncols + shiftrow
shared_ax = None
gs = gridspec.GridSpec(ncols=ncols, nrows=nrows)
for i, s in enumerate(stations):
row = i // ncols
col = i % ncols
row_indices.append(row)
#.........這裏部分代碼省略.........