Comments (5)
Doing something like this works... but produces a blank plot first... haven't sorted out why.
class geom_boxplot(geom):
VALID_AES = ['y', 'lower','middle','upper','x','ymax','ymin','alpha',
'colour','color','fill','linetype','shape','size','weight']
def plot_layer(self, layer):
layer = {k: v for k, v in layer.items() if k in self.VALID_AES}
layer.update(self.manual_aes)
# Option 1 (No Pandas)
# Boxplot takes in an array or sequence of vectors
# The goal is to group the 'y' values by grouped 'x'
# Then take the transpose and give it to plt.boxplot(**layer)
# If we do not have a y value, no need to change anything
# if "y" in layer:
# list(set([...])) just gets unique elements
# unique = list(set(layer["x"]))
# Group y values in len(x) arrays, having values y.x
# Store it back in x as a transpose.
# pass
# plt.boxplot(**layer)
# Option 2 With Pandas and DataFrame.boxplot()
# Need access to the DataFrame passed to ggplot(..)
df = DataFrame({'y': layer['y']})
if 'x' in layer:
layer['by'] = 'x'
df['x'] = layer['x']
del layer['x']
if 'y' in layer:
layer['column'] = 'y'
del layer['y']
df.boxplot(**layer)
from ggpy.
take a look at how geom_bar
works. i think you can piggy-back off of that.
from ggpy.
Thanks, geom_bar looks like a good place to start and avoiding deep coupling with pandas is probably not a terrible idea.
This is sort off topic, but is there a reason why you opted to pass the values from aes around rather than the data frame and its column names?
from ggpy.
Largely b/c the geoms have aes defined on an individual basis. That said, I don't think theres any reason data frames wouldn't work.
On Oct 25, 2013, at 9:38 AM, jhaynes [email protected] wrote:
Thanks, geom_bar looks like a good place to start and avoiding deep coupling with pandas is probably not a terrible idea.This is sort off topic, but is there a reason why you opted to pass the values from aes around rather than the data frame and its column names?
—
Reply to this email directly or view it on GitHub.
from ggpy.
thanks to @JanSchulz for this one!
from ggpy.
Related Issues (20)
- [Feature Request]: Plot directly onto a matplotlib axis HOT 1
- the numbers squeeze on the x-axis or y-axis
- Wrong code
- Is this project dead? HOT 16
- "metaclass conflict" error when using ggplot 0.6.8 with six 1.10.0+
- Import does not work with pandas 0.23.4
- unable to import in jupyter notebook HOT 5
- Warning received when using color aesthetic with geom_point
- Import issue in jupyter notebook
- AttributeError: module 'pandas' has no attribute 'tslib' HOT 35
- Can't facet on variable with more than 9 levels
- facet_grid fail with a category type
- facet_grid repeat x-axis
- pandas sort issue
- How about make it available with dfply?
- Link to an actively developed project called "plotnine" which provides ggplot functionality in python.
- ggplot installs for python3.9.1.0, but import ggplot gets error re pandas attribute tslib HOT 2
- plot multiple geoms on top of each other
- Looking for `ggplot` substitution HOT 2
- Questions about Copilot + Open Source Software Hierarchy
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ggpy.