SORU
15 Ocak 2013, Salı


matplotlib grafik yapma varsayılan olarak R gibi bak?

Bir şekilde matplotlib neredeyse R, komplo varsayılanları açısından gibi R, ya da aynı şekilde davranması için mi var? Örneğin R çok farklı eksenleri matplotlib davranır. Aşağıdaki histogram enter image description here

""dışa keneler, iç keneler (matplotlib aksine) var ve balta "" kökeni. yakınında Haç gibi balta ile yüzen Ayrıca, histogram "fazlalık" kene tarafından işaretlenmemiş olan değerler - örneğin x ekseni 3'te biter ama çubuk biraz ötesine uzanır. Nasıl bu otomatik olarak matplotlib histogram elde edilebilir?

İlgili soru: serpme ve çizgi çizer R, örneğin:farklı varsayılan eksen ayarları enter image description here

Orada hiçbir iç kene ve kene dışa dönük yüzü. Ayrıca, keneler biraz kökenli noktadan sonra y ve x eksenleri eksenleri ALT sol çapraz) başlangıç ve keneler biraz eksenleri bitmeden biter. Bu şekilde en düşük x-ekseni onay ve en düşük y-ekseni onay etiketleri gerçekten aralarında boşluk var çünkü çapraz, ve bu araziler çok şık ve temiz bir görünüm verir. Ayrıca eksenleri ticklabels ve keneler kendileri arasında oldukça fazla boşluk var unutmayın.

Ayrıca, varsayılan olarak yok kenelerin üzerine sigara etiketli x ya da y ekseninde, yani y ekseni üzerinde bırakmış oldu paralel olarak etiketlenmiş y ekseni üzerinde hakkı vardır hayır kene ve aynı x-ekseni, bir daha çıkarma yığılmayı araziler.

Bir şekilde bu matplotlib gibi göstermeye var mı? Ve genel olarak varsayılan olarak bakmak kadar varsayılan R araziler olarak? Seviyorum matplotlib çok ama bence R varsayılanlar / out-of-the-box çizme davranışı gerçekten doğru şeyler almış ve varsayılan ayarlar nadiren yol örtüşen onay etiketleri, dağınıklığı ya da ezilmiş veriler, çok isterim varsayılan olarak çok benzer olarak mümkün.

CEVAP
16 Ocak 2013, ÇARŞAMBA


1 yıl sonra Edit:

seaborn olur: aşağıdaki örnek ile

import numpy as np
import matplotlib.pyplot as plt
import seaborn
seaborn.set(style='ticks')
# Data to be represented
X = np.random.randn(256)

# Actual plotting
fig = plt.figure(figsize=(8,6), dpi=72, facecolor="white")
axes = plt.subplot(111)
heights, positions, patches = axes.hist(X, color='white')
seaborn.despine(ax=axes, offset=10, trim=True)
fig.tight_layout()
plt.show()

Acayip kolay.

Orijinal yazı:

Bu blog yazısı şimdiye kadar gördüklerimin en iyisi. http://messymind.net/making-matplotlib-look-like-ggplot/

"A"tipi örnekleri. başladı çoğu gördüğünüz gibi standart R araziler üzerinde odaklanmak değil Bunun yerine neredeyse evrensel şık olarak gösterilen ve iyi tasarlanmış gibi görünüyor ggplot2, stilini taklit etmeye çalışır.

Bar komplo gördüğünüz gibi eksen dikenler almak için, ilk birkaç örneklerinden biri burada takip etmeye çalışın: http://www.loria.fr/~rougier/coding/gallery/

Son olarak, eksen işaretleri onay almak için dışa doğru işaret, xtick.direction : out ytick.direction : out söylemek matplotlibrc dosyalarınızı düzenleyebilirsiniz.

Birlikte bu kavramlar böyle bir şey alırız birleştiren

import numpy as np
import matplotlib
import matplotlib.pyplot as plt
# Data to be represented
X = np.random.randn(256)

# Actual plotting
fig = plt.figure(figsize=(8,6), dpi=72, facecolor="white")
axes = plt.subplot(111)
heights, positions, patches = axes.hist(X, color='white')

axes.spines['right'].set_color('none')
axes.spines['top'].set_color('none')
axes.xaxis.set_ticks_position('bottom')

# was: axes.spines['bottom'].set_position(('data',1.1*X.min()))
axes.spines['bottom'].set_position(('axes', -0.05))
axes.yaxis.set_ticks_position('left')
axes.spines['left'].set_position(('axes', -0.05))

axes.set_xlim([np.floor(positions.min()), np.ceil(positions.max())])
axes.set_ylim([0,70])
axes.xaxis.grid(False)
axes.yaxis.grid(False)
fig.tight_layout()
plt.show()

Dikenleri konumunu çeşitli şekillerde belirtilebilir. Eğer kodu İPython yukarıda çalıştırırsanız, o zaman axes.spines['bottom'].set_position? tüm seçenekleri görmek için ne yapabilirim.

R-style bar plot in python

Evet. Kesinlikle önemsiz değil, ama yakın elde edebilirsiniz.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • eisleyhead

    eisleyhead

    11 Ocak 2006
  • Khan Academy

    Khan Academy

    17 Kasım 2006
  • Matthew Morrill

    Matthew Morr

    15 EKİM 2011