cufflinks

Productivity Tools for Plotly + Pandas

https://github.com/santosjorge/cufflinks

Science Score: 23.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    1 of 39 committers (2.6%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.0%) to scientific vocabulary

Keywords from Contributors

plotly plotly-dash charts regl declarative graph-library interactive plotlyjs sparkles alignment
Last synced: 10 months ago · JSON representation

Repository

Productivity Tools for Plotly + Pandas

Basic Info
  • Host: GitHub
  • Owner: santosjorge
  • License: mit
  • Language: Jupyter Notebook
  • Default Branch: master
  • Size: 17 MB
Statistics
  • Stars: 3,080
  • Watchers: 107
  • Forks: 674
  • Open Issues: 104
  • Releases: 0
Created over 11 years ago · Last pushed about 2 years ago
Metadata Files
Readme License

README.md

Cufflinks

This library binds the power of plotly with the flexibility of pandas for easy plotting.

This library is available on https://github.com/santosjorge/cufflinks

This tutorial assumes that the plotly user credentials have already been configured as stated on the getting started guide.

Tutorials:

3D Charts

Release Notes

v0.17.0

Support for Plotly 4.x
Cufflinks is no longer compatible with Plotly 3.x

v0.14.0

Support for Plotly 3.0

v0.13.0

New iplot helper. To see a comprehensive list of parameters cf.help()

```python

For a list of supported figures

cf.help()

Or to see the parameters supported that apply to a given figure try

cf.help('scatter') cf.help('candle') #etc ```

v0.12.0

Removed dependecies on ta-lib. This library is no longer required. All studies have be rewritten in Python.

v0.11.0

  • QuantFigure is a new class that will generate a graph object with persistence. Parameters can be added/modified at any given point.

This can be as easy as:

```python df=cf.datagen.ohlc() qf=cf.QuantFig(df,title='First Quant Figure',legend='top',name='GS') qf.addbollingerbands() qf.iplot()

```

QuantFigure

  • Technical Analysis Studies can be added on demand.

python qf.add_sma([10,20],width=2,color=['green','lightgreen'],legendgroup=True) qf.add_rsi(periods=20,color='java') qf.add_bollinger_bands(periods=20,boll_std=2,colors=['magenta','grey'],fill=True) qf.add_volume() qf.add_macd() qf.iplot()

Technical Analysis

v0.10.0

  • rangeslider to display a date range slider at the bottom
    • cf.datagen.ohlc().iplot(kind='candle',rangeslider=True)
  • rangeselector to display buttons to change the date range displayed
    • cf.datagen.ohlc(500).iplot(kind='candle', rangeselector={ 'steps':['1y','2 months','5 weeks','ytd','2mtd','reset'], 'bgcolor' : ('grey',.3), 'x': 0.3 , 'y' : 0.95})
  • Customise annotions, with fontsize,fontcolor,textangle
    • Label mode
      • cf.datagen.lines(1,mode='stocks').iplot(kind='line', annotations={'2015-02-02':'Market Crash', '2015-03-01':'Recovery'}, textangle=-70,fontsize=13,fontcolor='grey')
    • Explicit mode
      • cf.datagen.lines(1,mode='stocks').iplot(kind='line', annotations=[{'text':'exactly here','x':'0.2', 'xref':'paper','arrowhead':2, 'textangle':-10,'ay':150,'arrowcolor':'red'}])

v0.9.0

  • Figure.iplot() to plot figures
  • New high performing candle and ohlc plots
    • cf.datagen.ohlc().iplot(kind='candle')

v0.8.0

  • 'cf.datagen.choropleth()' to for sample choropleth data.
  • 'cf.datagen.scattergeo()' to for sample scattergeo data.
  • Support for choropleth and scattergeo figures in iplot
  • 'cf.get_colorscale' for maps and plotly objects that support colorscales

v0.7.1

  • xrange, yrange and zrange can be specified in iplot and getLayout
    • cf.datagen.lines(1).iplot(yrange=[5,15])
  • layout_update can be set in iplot and getLayout to explicitly update any Layout value

v0.7

  • Support for Python 3

v0.6

See the IPython Notebook

  • Support for pie charts
    • cf.datagen.pie().iplot(kind='pie',labels='labels',values='values')
  • Generate Open, High, Low, Close data
    • datagen.ohlc()
  • Candle Charts support
    • ohlc=cf.datagen.ohlc()
      ohlc.iplot(kind='candle',up_color='blue',down_color='red')
  • OHLC (Bar) Charts support
    • ohlc=cf.datagen.ohlc()
      ohlc.iplot(kind='ohlc',up_color='blue',down_color='red')
  • Support for logarithmic charts ( logx | logy )
    • df=pd.DataFrame([x**2] for x in range(100))
      df.iplot(kind='lines',logy=True)
  • Support for MulitIndex DataFrames
  • Support for Error Bars ( errorx | errory )
    • cf.datagen.lines(1,5).iplot(kind='bar',error_y=[1,2,3.5,2,2])
    • cf.datagen.lines(1,5).iplot(kind='bar',error_y=20, error_type='percent')
  • Support for continuous error bars
    • cf.datagen.lines(1).iplot(kind='lines',error_y=20,error_type='continuous_percent')
    • cf.datagen.lines(1).iplot(kind='lines',error_y=10,error_type='continuous',color='blue')
  • Technical Analysis Studies for Timeseries (beta)
    • Simple Moving Averages (SMA)
      • cf.datagen.lines(1,500).ta_plot(study='sma',periods=[13,21,55])
    • Relative Strength Indicator (RSI)
      • cf.datagen.lines(1,200).ta_plot(study='boll',periods=14)
    • Bollinger Bands (BOLL)
      • cf.datagen.lines(1,200).ta_plot(study='rsi',periods=14)
    • Moving Average Convergence Divergence (MACD)
      • cf.datagen.lines(1,200).ta_plot(study='macd',fast_period=12,slow_period=26, signal_period=9)

v0.5

  • Support of offline charts
    • cf.go_offline()
    • cf.go_online()
    • cf.iplot(figure,online=True) (To force online whilst on offline mode)
  • Support for secondary axis
    • fig=cf.datagen.lines(3,columns=['a','b','c']).figure()
      fig=fig.set_axis('b',side='right')
      cf.iplot(fig)

v0.4

  • Support for global theme setting
    • cufflinks.set_config_file(theme='pearl')
  • New theme ggplot
    • cufflinks.datagen.lines(5).iplot(theme='ggplot')
  • Support for horizontal bar charts barh
    • cufflinks.datagen.lines(2).iplot(kind='barh',barmode='stack',bargap=.1)
  • Support for histogram orientation and normalization
    • cufflinks.datagen.histogram().iplot(kind='histogram',orientation='h',norm='probability')
  • Support for area plots
    • cufflinks.datagen.lines(4).iplot(kind='area',fill=True,opacity=1)
  • Support for subplots
    • cufflinks.datagen.histogram(4).iplot(kind='histogram',subplots=True,bins=50)
    • cufflinks.datagen.lines(4).iplot(subplots=True,shape=(4,1),shared_xaxes=True,vertical_spacing=.02,fill=True)
  • Support for scatter matrix to display the distribution amongst every series in the DataFrame
    • cufflinks.datagen.lines(4,1000).scatter_matrix()
  • Support for vline and hline for horizontal and vertical lines
    • cufflinks.datagen.lines(3).iplot(hline=[2,3])
    • cufflinks.datagen.lines(3).iplot(hline=dict(y=2,color='blue',width=3))
  • Support for vspan and hspan for horizontal and vertical areas
    • cufflinks.datagen.lines(3).iplot(hspan=(-1,2))
    • cufflinks.datagen.lines(3).iplot(hspan=dict(y0=-1,y1=2,color='orange',fill=True,opacity=.4))

v0.3.2

  • Global setting for public charts
    • cufflinks.set_config_file(world_readable=True)

v0.3

  • Enhanced Spread charts
    • cufflinks.datagen.lines(2).iplot(kind='spread')
  • Support for Heatmap charts
    • cufflinks.datagen.heatmap().iplot(kind='heatmap')
  • Support for Bubble charts
    • cufflinks.datagen.bubble(4).iplot(kind='bubble',x='x',y='y',text='text',size='size',categories='categories')
  • Support for Bubble3d charts
    • cufflinks.datagen.bubble3d(4).iplot(kind='bubble3d',x='x',y='y',z='z',text='text',size='size',categories='categories')
  • Support for Box charts
    • cufflinks.datagen.box().iplot(kind='box')
  • Support for Surface charts
    • cufflinks.datagen.surface().iplot(kind='surface')
  • Support for Scatter3d charts
    • cufflinks.datagen.scatter3d().iplot(kind='scatter3d',x='x',y='y',z='z',text='text',categories='categories')
  • Support for Histograms
    • cufflinks.datagen.histogram(2).iplot(kind='histogram')
  • Data generation for most common plot types
    • cufflinks.datagen
  • Data extraction: Extract data from any Plotly chart. Data is delivered in DataFrame
    • cufflinks.to_df(Figure)
  • Integration with colorlover
    • Support for scales iplot(colorscale='accent') to plot a chart using an accent color scale
    • cufflinks.scales() to see all available scales
  • Support for named colors * iplot(colors=['pink','red','yellow'])

Owner

  • Name: Jorge Santos
  • Login: santosjorge
  • Kind: user

GitHub Events

Total
  • Issues event: 1
  • Watch event: 67
  • Issue comment event: 4
  • Fork event: 9
Last Year
  • Issues event: 1
  • Watch event: 67
  • Issue comment event: 4
  • Fork event: 9

Committers

Last synced: about 1 year ago

All Time
  • Total Commits: 394
  • Total Committers: 39
  • Avg Commits per committer: 10.103
  • Development Distribution Score (DDS): 0.581
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Jorge Santos j****s@t****m 165
jorgesantos s****e@g****m 128
Tim Paine t****4@g****m 29
chriddyp c****s@p****y 11
Nicolas Kruchten n****s@p****y 5
Jorge Santos J****e@J****l 4
big-o b****o@g****m 3
Jorge Santos j****s@i****m 3
Jorge Santos j****s@J****l 3
T. Imanishi t****k@m****t 3
Jorge Santos j****e@j****m 2
Jorge Santos J****e@J****l 2
Jorge Santos j****s@j****m 2
zatnekitel z****l@g****m 2
nateGeorge w****e@g****m 2
kodiakcrypto 6****o 2
harisbal t****r@g****m 2
Jonathan Gillett g****t@g****m 2
Jon Mease j****e@g****m 2
Alex Braun a****n@g****m 2
Aakash_Deep 5****1 2
Albert White a****e@g****m 1
Andrei Capastru a****p 1
Bingyao Liu B****u@g****m 1
Chao Luan m****s 1
Dmitri Smirnov d****s@p****m 1
Guillaume j****e@g****m 1
Hannes k****s 1
shivam6294 s****c@m****k 1
Lev E. Givon l****n@d****m 1
and 9 more...

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 82
  • Total pull requests: 25
  • Average time to close issues: 2 months
  • Average time to close pull requests: 5 months
  • Total issue authors: 71
  • Total pull request authors: 20
  • Average comments per issue: 2.63
  • Average comments per pull request: 1.96
  • Merged pull requests: 8
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • Pull request authors: 0
  • Average comments per issue: 0.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • nateGeorge (2)
  • kevbroch (2)
  • nicolaskruchten (2)
  • murilobellatini (2)
  • Rob-Hulley (2)
  • Binger-cn (2)
  • kannansingaravelu (2)
  • xoelop (2)
  • chowyifat (2)
  • hoishing (2)
  • claesnn (2)
  • misterhay (1)
  • bryophyllum1 (1)
  • thomktz (1)
  • ahmed-gaal (1)
Pull Request Authors
  • Saran33 (4)
  • eholic (3)
  • aa403 (2)
  • gjeusel (1)
  • Xloka (1)
  • timkpaine (1)
  • teymourb (1)
  • Ashish0931 (1)
  • kodiakcrypto (1)
  • albertw (1)
  • rightx2 (1)
  • bryophyllum1 (1)
  • kevbroch (1)
  • nateGeorge (1)
  • jpoles1 (1)
Top Labels
Issue Labels
enhancement (1)
Pull Request Labels

Packages

  • Total packages: 6
  • Total downloads:
    • pypi 47,740 last-month
  • Total docker downloads: 10,362
  • Total dependent packages: 36
    (may contain duplicates)
  • Total dependent repositories: 1,591
    (may contain duplicates)
  • Total versions: 43
  • Total maintainers: 4
pypi.org: cufflinks

Productivity Tools for Plotly + Pandas

  • Versions: 28
  • Dependent Packages: 31
  • Dependent Repositories: 1,577
  • Downloads: 46,488 Last month
  • Docker Downloads: 10,362
Rankings
Dependent repos count: 0.3%
Dependent packages count: 0.5%
Average: 1.1%
Downloads: 1.1%
Docker downloads count: 1.4%
Stargazers count: 1.4%
Forks count: 1.8%
Maintainers (1)
Last synced: 10 months ago
conda-forge.org: cufflinks-py

This library binds the power of plotly with the flexibility of pandas for easy plotting.

  • Versions: 4
  • Dependent Packages: 3
  • Dependent Repositories: 7
Rankings
Forks count: 6.2%
Stargazers count: 7.6%
Average: 10.6%
Dependent repos count: 12.8%
Dependent packages count: 15.6%
Last synced: 11 months ago
pypi.org: cufflinks1

Productivity Tools for Plotly + Pandas

  • Versions: 4
  • Dependent Packages: 0
  • Dependent Repositories: 2
  • Downloads: 1,231 Last month
Rankings
Stargazers count: 1.4%
Forks count: 1.8%
Dependent packages count: 7.3%
Average: 11.4%
Dependent repos count: 11.8%
Downloads: 34.9%
Maintainers (1)
Last synced: 11 months ago
conda-forge.org: python-cufflinks
  • Versions: 5
  • Dependent Packages: 1
  • Dependent Repositories: 5
Rankings
Forks count: 6.2%
Stargazers count: 7.6%
Average: 14.4%
Dependent repos count: 14.7%
Dependent packages count: 29.0%
Last synced: 11 months ago
spack.io: py-cufflinks

Productivity Tools for Plotly + Pandas. This library binds the power of plotly with the flexibility of pandas for easy plotting.

  • Versions: 1
  • Dependent Packages: 1
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Forks count: 3.5%
Stargazers count: 4.5%
Average: 16.3%
Dependent packages count: 57.3%
Maintainers (1)
Last synced: over 1 year ago
pypi.org: cufflinks-ardihikaru

Productivity Tools for Plotly + Pandas

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 21 Last month
Rankings
Stargazers count: 1.4%
Forks count: 1.8%
Dependent packages count: 7.5%
Average: 20.1%
Dependent repos count: 69.8%
Maintainers (1)
Last synced: 11 months ago

Dependencies

requirements.txt pypi
  • colorlover >=0.2.1
  • ipython >=5.3.0
  • ipywidgets >=7.0.0
  • numpy >=1.9.2
  • pandas >=0.19.2
  • plotly >=4.1.1
  • setuptools >=34.4.1
  • six >=1.9.0
setup.py pypi