CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/pypi-vincent

A Python to Vega translator for creating interactive data visualizations from Python data structures.

Overview
Eval results
Files

charts.mddocs/

Chart Construction

High-level chart constructors for common visualization types. All chart classes extend the base Chart class and provide intuitive APIs for creating specific chart types while generating complete Vega specifications.

Capabilities

Base Chart Class

The foundational Chart class that all specific chart types inherit from. Provides common functionality for data handling, sizing, and Vega specification generation.

class Chart(Visualization):
    """Abstract Base Class for all Chart types"""
    
    def __init__(self, data=None, columns=None, key_on='idx', iter_idx=None,
                 width=960, height=500, grouped=False, no_data=False,
                 *args, **kwargs):
        """
        Create a Vega Chart
        
        Parameters:
        - data: Input data (pandas DataFrame/Series, list, tuple, dict, or None)
        - columns: Column names for DataFrame data (list or None)
        - key_on: Key field name for data indexing (str, default 'idx')
        - iter_idx: Iterator index for multiple data sources (str or None)
        - width: Chart width in pixels (int, default 960)
        - height: Chart height in pixels (int, default 500)
        - grouped: Whether data should be grouped (bool, default False)
        - no_data: Whether to create chart without data (bool, default False)
        """

Line Charts

Creates line plots connecting data points with lines, ideal for showing trends over continuous data.

class Line(Chart):
    """Line chart for showing trends over continuous data"""
    
    def __init__(self, data=None, columns=None, key_on='idx', iter_idx=None,
                 width=960, height=500, grouped=False, no_data=False,
                 *args, **kwargs):
        """
        Create a line chart
        
        Inherits all parameters from Chart base class.
        Automatically configures marks as 'line' type with appropriate scales.
        """

Usage Example:

import vincent
import pandas as pd

# From list data
data = [10, 20, 15, 30, 25]
line = vincent.Line(data)

# From pandas DataFrame
df = pd.DataFrame({'x': range(5), 'y': [10, 20, 15, 30, 25]})
line = vincent.Line(df, columns=['x', 'y'])

Scatter Plots

Creates scatter plots for showing correlation between two variables, with support for color and size encoding.

class Scatter(Chart):
    """Scatter plot for showing correlation between two variables"""
    
    def __init__(self, data=None, columns=None, key_on='idx', iter_idx=None,
                 width=960, height=500, grouped=False, no_data=False,
                 *args, **kwargs):
        """
        Create a scatter plot
        
        Inherits all parameters from Chart base class.
        Automatically configures marks as 'symbol' type with point symbols.
        """

Bar Charts

Creates bar charts for categorical data comparison, with support for both vertical and horizontal orientations.

class Bar(Chart):
    """Bar chart for categorical data comparison"""
    
    def __init__(self, data=None, columns=None, key_on='idx', iter_idx=None,
                 width=960, height=500, grouped=False, no_data=False,
                 *args, **kwargs):
        """
        Create a bar chart
        
        Inherits all parameters from Chart base class.
        Automatically configures marks as 'rect' type with appropriate scales.
        """

# Alias for stacked bar charts
StackedBar = Bar

Usage Example:

import vincent

# Simple bar chart
data = [('A', 10), ('B', 20), ('C', 15)]
bar = vincent.Bar(data)

# Stacked bar chart (same as Bar)
stacked = vincent.StackedBar(data, grouped=True)

Area Charts

Creates area charts for showing cumulative data over time, with support for stacked areas.

class Area(Chart):
    """Area chart for showing cumulative data over time"""
    
    def __init__(self, data=None, columns=None, key_on='idx', iter_idx=None,
                 width=960, height=500, grouped=False, no_data=False,
                 *args, **kwargs):
        """
        Create an area chart
        
        Inherits all parameters from Chart base class.
        Automatically configures marks as 'area' type with filled regions.
        """

# Alias for stacked area charts  
StackedArea = Area

Grouped Bar Charts

Creates bar charts with grouped categories, useful for comparing multiple series across categories.

class GroupedBar(Chart):
    """Bar chart with grouped categories"""
    
    def __init__(self, data=None, columns=None, key_on='idx', iter_idx=None,
                 width=960, height=500, grouped=False, no_data=False,
                 *args, **kwargs):
        """
        Create a grouped bar chart
        
        Inherits all parameters from Chart base class.
        Automatically configures for grouped data visualization.
        """

Geographic Maps

Creates geographic visualizations with map projections and spatial data support.

class Map(Chart):
    """Geographic visualization chart"""
    
    def __init__(self, data=None, columns=None, key_on='idx', iter_idx=None,
                 width=960, height=500, grouped=False, no_data=False,
                 *args, **kwargs):
        """
        Create a geographic map chart
        
        Inherits all parameters from Chart base class.
        Supports geographic data and map projections.
        """

Pie Charts

Creates pie charts for showing proportional data as circular segments.

class Pie(Chart):
    """Pie chart for showing proportional data"""
    
    def __init__(self, data=None, columns=None, key_on='idx', iter_idx=None,
                 width=960, height=500, grouped=False, no_data=False,
                 *args, **kwargs):
        """
        Create a pie chart
        
        Inherits all parameters from Chart base class.
        Automatically applies pie transform to data.
        """

Word Clouds

Creates word cloud visualizations showing text frequency through font size variation.

class Word(Chart):
    """Word cloud visualization"""
    
    def __init__(self, data=None, columns=None, key_on='idx', iter_idx=None,
                 width=960, height=500, grouped=False, no_data=False,
                 *args, **kwargs):
        """
        Create a word cloud chart
        
        Inherits all parameters from Chart base class.
        Automatically applies wordcloud transform to text data.
        """

Data Type Handling

def data_type(data, grouped=False, columns=None, key_on='idx', iter_idx=None):
    """
    Automatic data type detection and conversion for chart data.
    
    Parameters:
    - data: Input data (pandas DataFrame/Series, list, tuple, dict)
    - grouped: Whether data should be treated as grouped (bool, default False)
    - columns: Column specification for DataFrame data (list or None)
    - key_on: Key field name for data indexing (str, default 'idx')
    - iter_idx: Iterator index for multiple data sources (str or None)
    
    Returns:
    Data: Vincent Data object with appropriate format
    
    Raises:
    ValueError: If data type is not supported
    """

This function automatically detects and converts various Python data types:

  • pandas DataFrame and Series objects
  • Python lists, tuples, and dictionaries
  • Multiple iterator patterns for complex data structures

Install with Tessl CLI

npx tessl i tessl/pypi-vincent

docs

charts.md

data-management.md

index.md

styling-properties.md

visualization-grammar.md

tile.json